{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "YC4R6nkCp91d",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "YC4R6nkCp91d",
    "outputId": "1792fab3-0a0c-48c1-c3ce-f07091a06d3e",
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "mkdir: data: File exists\n",
      "--2023-03-20 12:23:22--  https://www.dropbox.com/s/948jr9cfs7fgj99/UBER.zip?dl=1\n",
      "Resolving www.dropbox.com (www.dropbox.com)... 162.125.7.18\n",
      "Connecting to www.dropbox.com (www.dropbox.com)|162.125.7.18|:443... connected.\n",
      "HTTP request sent, awaiting response... 302 Found\n",
      "Location: /s/dl/948jr9cfs7fgj99/UBER.zip [following]\n",
      "--2023-03-20 12:23:23--  https://www.dropbox.com/s/dl/948jr9cfs7fgj99/UBER.zip\n",
      "Reusing existing connection to www.dropbox.com:443.\n",
      "HTTP request sent, awaiting response... 302 Found\n",
      "Location: https://ucaa655ca6057ed572944f7098ed.dl.dropboxusercontent.com/cd/0/get/B4lkBQS1ORFWkoF22J5uXSUYctyVcX-qJNXbH9hQ2FASvz436JWKvdNH7VLLFb83xEq5b-sd0HfffkWLDu66-22ks2Q0i6miTSF9PAsfWClLoyZMbWr0EYfI4uUWk9z8V0OEZ9wXrlqm6YW3NIfK0N15W9EVQKpN_EJScpk71Bc5Cg/file?dl=1# [following]\n",
      "--2023-03-20 12:23:23--  https://ucaa655ca6057ed572944f7098ed.dl.dropboxusercontent.com/cd/0/get/B4lkBQS1ORFWkoF22J5uXSUYctyVcX-qJNXbH9hQ2FASvz436JWKvdNH7VLLFb83xEq5b-sd0HfffkWLDu66-22ks2Q0i6miTSF9PAsfWClLoyZMbWr0EYfI4uUWk9z8V0OEZ9wXrlqm6YW3NIfK0N15W9EVQKpN_EJScpk71Bc5Cg/file?dl=1\n",
      "Resolving ucaa655ca6057ed572944f7098ed.dl.dropboxusercontent.com (ucaa655ca6057ed572944f7098ed.dl.dropboxusercontent.com)... 162.125.7.15\n",
      "Connecting to ucaa655ca6057ed572944f7098ed.dl.dropboxusercontent.com (ucaa655ca6057ed572944f7098ed.dl.dropboxusercontent.com)|162.125.7.15|:443... connected.\n",
      "HTTP request sent, awaiting response... 200 OK\n",
      "Length: 1820227 (1.7M) [application/binary]\n",
      "Saving to: ‘data/UBER.zip’\n",
      "\n",
      "data/UBER.zip       100%[===================>]   1.74M  10.5MB/s    in 0.2s    \n",
      "\n",
      "2023-03-20 12:23:24 (10.5 MB/s) - ‘data/UBER.zip’ saved [1820227/1820227]\n",
      "\n",
      "Archive:  data/UBER.zip\n",
      "   creating: data/UBER/\n",
      "  inflating: data/UBER/UBER_2021.html  \n",
      "  inflating: data/__MACOSX/UBER/._UBER_2021.html  \n",
      "  inflating: data/UBER/UBER_2020.html  \n",
      "  inflating: data/__MACOSX/UBER/._UBER_2020.html  \n",
      "  inflating: data/UBER/UBER_2019.html  \n",
      "  inflating: data/__MACOSX/UBER/._UBER_2019.html  \n",
      "  inflating: data/UBER/UBER_2022.html  \n",
      "  inflating: data/__MACOSX/UBER/._UBER_2022.html  \n"
     ]
    }
   ],
   "source": [
    "# download files\n",
    "!mkdir data\n",
    "!wget \"https://www.dropbox.com/s/948jr9cfs7fgj99/UBER.zip?dl=1\" -O data/UBER.zip\n",
    "!unzip data/UBER.zip -d data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "CuHeyb224pI2",
   "metadata": {
    "id": "CuHeyb224pI2"
   },
   "outputs": [],
   "source": [
    "# set text wrapping\n",
    "from IPython.display import HTML, display\n",
    "\n",
    "def set_css():\n",
    "  display(HTML('''\n",
    "  <style>\n",
    "    pre {\n",
    "        white-space: pre-wrap;\n",
    "    }\n",
    "  </style>\n",
    "  '''))\n",
    "get_ipython().events.register('pre_run_cell', set_css)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "QaFX6KfIz-Zn",
   "metadata": {
    "id": "QaFX6KfIz-Zn"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "  <style>\n",
       "    pre {\n",
       "        white-space: pre-wrap;\n",
       "    }\n",
       "  </style>\n",
       "  "
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import os\n",
    "os.environ['OPENAI_API_KEY'] = \"\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "3a5cb155-cfe0-4c89-a2b4-c61d5b7cbe61",
   "metadata": {
    "id": "3a5cb155-cfe0-4c89-a2b4-c61d5b7cbe61"
   },
   "outputs": [],
   "source": [
    "from gpt_index import download_loader, GPTSimpleVectorIndex, ServiceContext\n",
    "from pathlib import Path"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "354ddbdf-0045-474b-b6f2-1b4c22ad360a",
   "metadata": {
    "id": "354ddbdf-0045-474b-b6f2-1b4c22ad360a",
    "tags": []
   },
   "source": [
    "### Ingest Unstructured Data Through the Unstructured.io Reader\n",
    "\n",
    "Leverage the capabilities of Unstructured.io HTML parsing.\n",
    "Downloaded through LlamaHub."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "61fed4f1-8cca-4d98-b916-a3184279e256",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "years = [2022, 2021, 2020, 2019]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "0371970e-c11c-4534-aa22-7cfdfe411bb3",
   "metadata": {
    "id": "0371970e-c11c-4534-aa22-7cfdfe411bb3"
   },
   "outputs": [],
   "source": [
    "UnstructuredReader = download_loader(\"UnstructuredReader\", refresh_cache=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "29084a11-f3da-428d-ae17-27b85a365e84",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "29084a11-f3da-428d-ae17-27b85a365e84",
    "outputId": "819e4c48-0bb0-4e22-a84c-3021fbedbc4a"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[nltk_data] Downloading package punkt to /Users/jerryliu/nltk_data...\n",
      "[nltk_data]   Package punkt is already up-to-date!\n",
      "[nltk_data] Downloading package averaged_perceptron_tagger to\n",
      "[nltk_data]     /Users/jerryliu/nltk_data...\n",
      "[nltk_data]   Package averaged_perceptron_tagger is already up-to-\n",
      "[nltk_data]       date!\n",
      "INFO:unstructured:Reading document from string ...\n",
      "INFO:unstructured:Reading document ...\n",
      "INFO:unstructured:Reading document from string ...\n",
      "INFO:unstructured:Reading document ...\n",
      "INFO:unstructured:Reading document from string ...\n",
      "INFO:unstructured:Reading document ...\n",
      "INFO:unstructured:Reading document from string ...\n",
      "INFO:unstructured:Reading document ...\n"
     ]
    }
   ],
   "source": [
    "loader = UnstructuredReader()\n",
    "doc_set = {}\n",
    "all_docs = []\n",
    "for year in years:\n",
    "    year_docs = loader.load_data(file=Path(f'./data/UBER/UBER_{year}.html'), split_documents=False)\n",
    "    # insert year metadata into each year\n",
    "    for d in year_docs:\n",
    "        d.extra_info = {\"year\": year}\n",
    "    doc_set[year] = year_docs\n",
    "    all_docs.extend(year_docs)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "08b367eb-f9cc-449a-99c5-dfcfbef20a9d",
   "metadata": {
    "id": "08b367eb-f9cc-449a-99c5-dfcfbef20a9d"
   },
   "source": [
    "### Setup a Vector Index for each SEC filing\n",
    "\n",
    "We setup a separate vector index for each SEC filing from 2019-2022.\n",
    "\n",
    "We also optionally initialize a \"global\" index by dumping all files into the vector store."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8fbe18a6-4a08-441d-adae-a6195f2cdcb1",
   "metadata": {
    "id": "8fbe18a6-4a08-441d-adae-a6195f2cdcb1",
    "outputId": "bdc1d207-efb2-4f82-bf6c-668cfb7ca98f"
   },
   "outputs": [],
   "source": [
    "# initialize simple vector indices + global vector index\n",
    "# NOTE: don't run this cell if the indices are already loaded! \n",
    "index_set = {}\n",
    "service_context = ServiceContext.from_defaults(chunk_size_limit=512)\n",
    "for year in years:\n",
    "    cur_index = GPTSimpleVectorIndex.from_documents(doc_set[year], service_context=service_context)\n",
    "    index_set[year] = cur_index\n",
    "    cur_index.save_to_disk(f'index_{year}.json')\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "d3a5e993-99ae-445a-bcae-e2d415d84e34",
   "metadata": {
    "id": "d3a5e993-99ae-445a-bcae-e2d415d84e34"
   },
   "outputs": [],
   "source": [
    "# Load indices from disk\n",
    "index_set = {}\n",
    "for year in years:\n",
    "    cur_index = GPTSimpleVectorIndex.load_from_disk(f'index_{year}.json')\n",
    "    index_set[year] = cur_index"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "007a99d7-4f63-44bf-957b-c9f5669bce28",
   "metadata": {
    "id": "007a99d7-4f63-44bf-957b-c9f5669bce28"
   },
   "source": [
    "### Composing a Graph to synthesize answers across 10-K filings (2019-2022)\n",
    "\n",
    "We want our queries to aggregate/synthesize information across *all* 10-K filings. To do this, we define a List index\n",
    "on top of the 4 vector indices."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "f3fb341a-19a3-4e4a-9369-7ddc46b8c2a6",
   "metadata": {
    "id": "f3fb341a-19a3-4e4a-9369-7ddc46b8c2a6"
   },
   "outputs": [],
   "source": [
    "from gpt_index import GPTListIndex, LLMPredictor\n",
    "from langchain import OpenAI\n",
    "from gpt_index.indices.composability import ComposableGraph"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "966388cb-2fe4-4427-ad2e-cea6a0375233",
   "metadata": {
    "id": "966388cb-2fe4-4427-ad2e-cea6a0375233"
   },
   "outputs": [],
   "source": [
    "# set summary text for each doc\n",
    "index_summaries = [f\"UBER 10-k Filing for {year} fiscal year\" for year in years]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "f9e453b1-6782-45b5-8258-dfc386e6cf22",
   "metadata": {
    "id": "f9e453b1-6782-45b5-8258-dfc386e6cf22"
   },
   "outputs": [],
   "source": [
    "# set number of output tokens\n",
    "llm_predictor = LLMPredictor(llm=OpenAI(temperature=0, max_tokens=512))\n",
    "service_context = ServiceContext.from_defaults(llm_predictor=llm_predictor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "3b758fc2-bb21-46da-91b5-53e399eecfb0",
   "metadata": {
    "id": "3b758fc2-bb21-46da-91b5-53e399eecfb0",
    "outputId": "e7c99f46-8757-48a2-c84b-cb95a0a3eab9"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:gpt_index.token_counter.token_counter:> [build_index_from_documents] Total LLM token usage: 0 tokens\n",
      "INFO:gpt_index.token_counter.token_counter:> [build_index_from_documents] Total embedding token usage: 0 tokens\n"
     ]
    }
   ],
   "source": [
    "# define a list index over the vector indices\n",
    "# allows us to synthesize information across each index\n",
    "graph = ComposableGraph.from_indices(\n",
    "    GPTListIndex, \n",
    "    [index_set[y] for y in years], \n",
    "    index_summaries=index_summaries,\n",
    "    service_context=service_context\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "NLtnE--Mya7P",
   "metadata": {
    "id": "NLtnE--Mya7P"
   },
   "outputs": [],
   "source": [
    "graph.save_to_disk('10k_graph.json')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "b92a0ba3-5c6b-485f-8f8d-5e164689ff05",
   "metadata": {
    "id": "b92a0ba3-5c6b-485f-8f8d-5e164689ff05"
   },
   "outputs": [],
   "source": [
    "graph = ComposableGraph.load_from_disk('10k_graph.json', service_context=service_context)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7e2edef1-005f-4733-b64c-5987efa4c88d",
   "metadata": {
    "id": "e46dd052-ab34-4974-b696-16ff217970e0"
   },
   "source": [
    "## Setting up the Chatbot Agent\n",
    "\n",
    "We use Langchain to define the outer chatbot abstraction. We use LlamaIndex as a core Tool within this abstraction."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "6c2de0f3-9ec3-4f80-bd36-a509f8bfd4b8",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "from langchain.agents import Tool\n",
    "from langchain.chains.conversation.memory import ConversationBufferMemory\n",
    "from langchain.chat_models import ChatOpenAI\n",
    "from langchain.agents import initialize_agent\n",
    "\n",
    "from gpt_index.langchain_helpers.agents import LlamaToolkit, create_llama_chat_agent, IndexToolConfig, GraphToolConfig"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "c9a6faa1-dc06-4d9c-98b4-06e7ee19c559",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "# define a decompose transform\n",
    "from gpt_index.indices.query.query_transform.base import DecomposeQueryTransform\n",
    "decompose_transform = DecomposeQueryTransform(\n",
    "    llm_predictor, verbose=True\n",
    ")\n",
    "\n",
    "# define query configs for graph \n",
    "query_configs = [\n",
    "    {\n",
    "        \"index_struct_type\": \"simple_dict\",\n",
    "        \"query_mode\": \"default\",\n",
    "        \"query_kwargs\": {\n",
    "            \"similarity_top_k\": 1,\n",
    "            # \"include_summary\": True\n",
    "        },\n",
    "        \"query_transform\": decompose_transform\n",
    "    },\n",
    "    {\n",
    "        \"index_struct_type\": \"list\",\n",
    "        \"query_mode\": \"default\",\n",
    "        \"query_kwargs\": {\n",
    "            \"response_mode\": \"tree_summarize\",\n",
    "            \"verbose\": True\n",
    "        }\n",
    "    },\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "e763ceba-1c54-4abb-9589-c0628d18c5e5",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "# define toolkit\n",
    "index_configs = []\n",
    "for y in range(2019, 2023):\n",
    "    tool_config = IndexToolConfig(\n",
    "        index=index_set[y], \n",
    "        name=f\"Vector Index {y}\",\n",
    "        description=f\"useful for when you want to answer queries about the {y} SEC 10-K for Uber\",\n",
    "        index_query_kwargs={\"similarity_top_k\": 3},\n",
    "        tool_kwargs={\"return_direct\": True}\n",
    "    )\n",
    "    index_configs.append(tool_config)\n",
    "    \n",
    "# graph config\n",
    "graph_config = GraphToolConfig(\n",
    "    graph=graph,\n",
    "    name=f\"Graph Index\",\n",
    "    description=\"useful for when you want to answer queries that require analyzing multiple SEC 10-K documents for Uber.\",\n",
    "    query_configs=query_configs,\n",
    "    tool_kwargs={\"return_direct\": True}\n",
    ")\n",
    "\n",
    "toolkit = LlamaToolkit(\n",
    "    index_configs=index_configs,\n",
    "    graph_configs=[graph_config]\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "c28cd7ee-15ef-4240-aff3-ecc0ba335df2",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "memory = ConversationBufferMemory(memory_key=\"chat_history\")\n",
    "llm=OpenAI(temperature=0)\n",
    "agent_chain = create_llama_chat_agent(\n",
    "    toolkit,\n",
    "    llm,\n",
    "    memory=memory,\n",
    "    verbose=True\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "92bd0eaa-73ad-4735-8234-a376fd1b3a6a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n",
      "\u001b[32;1m\u001b[1;3m\n",
      "Thought: Do I need to use a tool? No\n",
      "AI: Hi Bob, nice to meet you! How can I help you today?\u001b[0m\n",
      "\n",
      "\u001b[1m> Finished chain.\u001b[0m\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'Hi Bob, nice to meet you! How can I help you today?'"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "agent_chain.run(input=\"hi, i am bob\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "19ca8476-bfeb-4c88-a0ff-15424e2d91c7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n",
      "\u001b[32;1m\u001b[1;3m\n",
      "Thought: Do I need to use a tool? Yes\n",
      "Action: Vector Index 2020\n",
      "Action Input: Risk Factors\u001b[0m"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:gpt_index.token_counter.token_counter:> [query] Total LLM token usage: 2006 tokens\n",
      "INFO:gpt_index.token_counter.token_counter:> [query] Total embedding token usage: 3 tokens\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Observation: \u001b[33;1m\u001b[1;3m\n",
      "\n",
      "Risk Factors\n",
      "\n",
      "The COVID-19 pandemic and the impact of actions to mitigate the pandemic has adversely affected and continues to adversely affect our business, financial condition, and results of operations. The risks associated with the pandemic include, but are not limited to, the classification of Drivers as independent contractors, the economic impact of the pandemic, the potential cascading effects of the pandemic on our business, financial performance, and results of operations, the practices necessitated by the outbreak and related governmental actions, the increase in remote working and the associated privacy, cybersecurity and fraud risks, the legal and regulatory challenges associated with the pandemic, the workforce reductions announced in May 2020, the launch of new, or expansion of existing, services, features, or health and safety requirements in response to COVID-19, and the potential fines or other enforcement measures that could adversely impact our financial results or operations.\u001b[0m\n",
      "\u001b[32;1m\u001b[1;3m\u001b[0m\n",
      "\n",
      "\u001b[1m> Finished chain.\u001b[0m\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'\\n\\nRisk Factors\\n\\nThe COVID-19 pandemic and the impact of actions to mitigate the pandemic has adversely affected and continues to adversely affect our business, financial condition, and results of operations. The risks associated with the pandemic include, but are not limited to, the classification of Drivers as independent contractors, the economic impact of the pandemic, the potential cascading effects of the pandemic on our business, financial performance, and results of operations, the practices necessitated by the outbreak and related governmental actions, the increase in remote working and the associated privacy, cybersecurity and fraud risks, the legal and regulatory challenges associated with the pandemic, the workforce reductions announced in May 2020, the launch of new, or expansion of existing, services, features, or health and safety requirements in response to COVID-19, and the potential fines or other enforcement measures that could adversely impact our financial results or operations.'"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "agent_chain.run(input=\"What were some of the biggest risk factors in 2020 for Uber?\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "05b5cd50-cf28-4ad1-b1c2-067f626bad93",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n",
      "\u001b[32;1m\u001b[1;3m\n",
      "Thought: Do I need to use a tool? Yes\n",
      "Action: Graph Index\n",
      "Action Input: Compare/contrast the risk factors described in the Uber 10-K across years.\u001b[0m\u001b[33;1m\u001b[1;3m> Current query: Compare/contrast the risk factors described in the Uber 10-K across years.\n",
      "\u001b[0m\u001b[38;5;200m\u001b[1;3m> New query:  What are the risk factors described in the Uber 10-K for the 2022 fiscal year?\n",
      "\u001b[0m\u001b[33;1m\u001b[1;3m> Current query: Compare/contrast the risk factors described in the Uber 10-K across years.\n",
      "\u001b[0m\u001b[38;5;200m\u001b[1;3m> New query:  What are the risk factors described in the Uber 10-K for the 2022 fiscal year?\n",
      "\u001b[0m"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:gpt_index.token_counter.token_counter:> [query] Total LLM token usage: 964 tokens\n",
      "INFO:gpt_index.token_counter.token_counter:> [query] Total embedding token usage: 18 tokens\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[36;1m\u001b[1;3m> Got response: \n",
      "The risk factors described in the Uber 10-K for the 2022 fiscal year include: the potential for changes in the classification of Drivers, the potential for increased competition, the potential for...\n",
      "\u001b[0m\u001b[33;1m\u001b[1;3m> Current query: Compare/contrast the risk factors described in the Uber 10-K across years.\n",
      "\u001b[0m\u001b[38;5;200m\u001b[1;3m> New query:  What are the risk factors described in the Uber 10-K for the 2021 fiscal year?\n",
      "\u001b[0m\u001b[33;1m\u001b[1;3m> Current query: Compare/contrast the risk factors described in the Uber 10-K across years.\n",
      "\u001b[0m\u001b[38;5;200m\u001b[1;3m> New query:  What are the risk factors described in the Uber 10-K for the 2021 fiscal year?\n",
      "\u001b[0m"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:gpt_index.token_counter.token_counter:> [query] Total LLM token usage: 590 tokens\n",
      "INFO:gpt_index.token_counter.token_counter:> [query] Total embedding token usage: 18 tokens\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[36;1m\u001b[1;3m> Got response: \n",
      "1. The COVID-19 pandemic and the impact of actions to mitigate the pandemic have adversely affected and may continue to adversely affect parts of our business.\n",
      "\n",
      "2. Our business would be adversely ...\n",
      "\u001b[0m\u001b[33;1m\u001b[1;3m> Current query: Compare/contrast the risk factors described in the Uber 10-K across years.\n",
      "\u001b[0m\u001b[38;5;200m\u001b[1;3m> New query:  What are the risk factors described in the Uber 10-K for the 2020 fiscal year?\n",
      "\u001b[0m\u001b[33;1m\u001b[1;3m> Current query: Compare/contrast the risk factors described in the Uber 10-K across years.\n",
      "\u001b[0m\u001b[38;5;200m\u001b[1;3m> New query:  What are the risk factors described in the Uber 10-K for the 2020 fiscal year?\n",
      "\u001b[0m"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:gpt_index.token_counter.token_counter:> [query] Total LLM token usage: 516 tokens\n",
      "INFO:gpt_index.token_counter.token_counter:> [query] Total embedding token usage: 18 tokens\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[36;1m\u001b[1;3m> Got response: \n",
      "The risk factors described in the Uber 10-K for the 2020 fiscal year include: the timing of widespread adoption of vaccines against the virus, additional actions that may be taken by governmental ...\n",
      "\u001b[0m\u001b[33;1m\u001b[1;3m> Current query: Compare/contrast the risk factors described in the Uber 10-K across years.\n",
      "\u001b[0m\u001b[38;5;200m\u001b[1;3m> New query:  What are the risk factors described in the Uber 10-K for the 2019 fiscal year?\n",
      "\u001b[0m\u001b[33;1m\u001b[1;3m> Current query: Compare/contrast the risk factors described in the Uber 10-K across years.\n",
      "\u001b[0m\u001b[38;5;200m\u001b[1;3m> New query:  What are the risk factors described in the Uber 10-K for the 2019 fiscal year?\n",
      "\u001b[0m"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:gpt_index.token_counter.token_counter:> [query] Total LLM token usage: 1020 tokens\n",
      "INFO:gpt_index.token_counter.token_counter:> [query] Total embedding token usage: 18 tokens\n",
      "INFO:gpt_index.indices.common.tree.base:> Building index from nodes: 0 chunks\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[36;1m\u001b[1;3m> Got response: \n",
      "Risk factors described in the Uber 10-K for the 2019 fiscal year include: competition from other transportation providers; the impact of government regulations; the impact of litigation; the impac...\n",
      "\u001b[0m"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:gpt_index.token_counter.token_counter:> [query] Total LLM token usage: 7039 tokens\n",
      "INFO:gpt_index.token_counter.token_counter:> [query] Total embedding token usage: 72 tokens\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Observation: \u001b[36;1m\u001b[1;3m\n",
      "In 2020, the risk factors included the timing of widespread adoption of vaccines against the virus, additional actions that may be taken by governmental authorities, the further impact on the business of Drivers, Merchants, consumers, and business partners, and the legal challenges to the classification of Drivers as independent contractors. In 2019, the risk factors included competition from other transportation providers, the impact of government regulations, the impact of litigation, the impact of negative publicity, the impact of changes in tax laws, the impact of changes in labor laws, the impact of changes in technology, the impact of cybersecurity risks, the impact of changes in economic conditions, the impact of changes in the financial markets, and the impact of changes in the competitive landscape. In 2022, the risk factors include the potential for changes in the classification of Drivers, the potential for increased competition, the potential for changes in laws and regulations, the potential for litigation and regulatory actions, the potential for disruption of our business operations, the potential for failure to protect our intellectual property, the potential for failure to attract and retain key personnel, the potential for failure to maintain relationships with third-party providers, the potential for failure to maintain brand and reputation, the potential for failure to develop and maintain secure technology, the potential for failure to comply with data privacy and security laws, the potential for failure to comply with anti-corruption laws, the potential for failure to comply with labor and employment laws, the potential for failure to comply with environmental laws, the potential for failure to comply with anti-trust laws, the potential for failure to comply with export control laws, the potential for failure to comply with anti-money laundering laws, the potential for failure to comply with tax laws, the potential for failure to comply with consumer protection laws, the potential for failure to comply with anti-discrimination laws, the potential for failure to comply with anti-bribery laws, the potential for failure to comply with anti-boycott laws, the potential for failure to comply with sanctions laws, the potential for failure to comply with anti-terrorism laws, the potential for failure to comply with anti-corruption laws, the potential for failure to comply with anti-fraud laws, and the potential for failure to comply with anti-trust laws.\n",
      "\n",
      "The risk factors described in the Uber 10-K have remained largely consistent across years, with some changes to reflect the current environment. In 2020, the risk factors focused more on the impact of the virus and the legal challenges to the classification of Drivers as independent contractors. In 2019, the risk\u001b[0m\n",
      "\u001b[32;1m\u001b[1;3m\u001b[0m\n",
      "\n",
      "\u001b[1m> Finished chain.\u001b[0m\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'\\nIn 2020, the risk factors included the timing of widespread adoption of vaccines against the virus, additional actions that may be taken by governmental authorities, the further impact on the business of Drivers, Merchants, consumers, and business partners, and the legal challenges to the classification of Drivers as independent contractors. In 2019, the risk factors included competition from other transportation providers, the impact of government regulations, the impact of litigation, the impact of negative publicity, the impact of changes in tax laws, the impact of changes in labor laws, the impact of changes in technology, the impact of cybersecurity risks, the impact of changes in economic conditions, the impact of changes in the financial markets, and the impact of changes in the competitive landscape. In 2022, the risk factors include the potential for changes in the classification of Drivers, the potential for increased competition, the potential for changes in laws and regulations, the potential for litigation and regulatory actions, the potential for disruption of our business operations, the potential for failure to protect our intellectual property, the potential for failure to attract and retain key personnel, the potential for failure to maintain relationships with third-party providers, the potential for failure to maintain brand and reputation, the potential for failure to develop and maintain secure technology, the potential for failure to comply with data privacy and security laws, the potential for failure to comply with anti-corruption laws, the potential for failure to comply with labor and employment laws, the potential for failure to comply with environmental laws, the potential for failure to comply with anti-trust laws, the potential for failure to comply with export control laws, the potential for failure to comply with anti-money laundering laws, the potential for failure to comply with tax laws, the potential for failure to comply with consumer protection laws, the potential for failure to comply with anti-discrimination laws, the potential for failure to comply with anti-bribery laws, the potential for failure to comply with anti-boycott laws, the potential for failure to comply with sanctions laws, the potential for failure to comply with anti-terrorism laws, the potential for failure to comply with anti-corruption laws, the potential for failure to comply with anti-fraud laws, and the potential for failure to comply with anti-trust laws.\\n\\nThe risk factors described in the Uber 10-K have remained largely consistent across years, with some changes to reflect the current environment. In 2020, the risk factors focused more on the impact of the virus and the legal challenges to the classification of Drivers as independent contractors. In 2019, the risk'"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cross_query_str = (\n",
    "    \"Compare/contrast the risk factors described in the Uber 10-K across years. Give answer in bullet points.\"\n",
    ")\n",
    "\n",
    "agent_chain.run(input=cross_query_str)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a066a1c8-2108-447a-ab9a-b82b4f35696e",
   "metadata": {},
   "source": [
    "### Setup Chatbot Loop Within Notebook\n",
    "\n",
    "We'll keep a running loop so that you can converse with the agent. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "f9dcd609-3921-493e-a4c1-3312dac277d2",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "# reinitialize agent\n",
    "memory = ConversationBufferMemory(memory_key=\"chat_history\")\n",
    "llm=OpenAI(temperature=0)\n",
    "agent_chain = create_llama_chat_agent(\n",
    "    toolkit,\n",
    "    llm,\n",
    "    memory=memory,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "edf6b5a9-bac5-4599-93f8-21c2fc44fa4b",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "User:  What were some of the legal proceedings against Uber in 2022?\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:gpt_index.token_counter.token_counter:> [query] Total LLM token usage: 1957 tokens\n",
      "INFO:gpt_index.token_counter.token_counter:> [query] Total embedding token usage: 6 tokens\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Agent: \n",
      "\n",
      "In 2022, legal proceedings against Uber include a motion to compel arbitration, an appeal of a ruling that Proposition 22 is unconstitutional, a complaint alleging that drivers are employees and entitled to protections under the wage and labor laws, a summary judgment motion, allegations of misclassification of drivers and related employment violations in New York, fraud related to certain deductions, class actions in Australia alleging that Uber entities conspired to injure the group members during the period 2014 to 2017 by either directly breaching transport legislation or commissioning offenses against transport legislation by UberX Drivers in Australia, and claims of lost income and decreased value of certain taxi. Additionally, Uber is facing a challenge in California Superior Court alleging that Proposition 22 is unconstitutional, and a preliminary injunction order prohibiting Uber from classifying Drivers as independent contractors and from violating various wage and hour laws.\n"
     ]
    }
   ],
   "source": [
    "while True:\n",
    "    text_input = input(\"User: \")\n",
    "    response = agent_chain.run(input=text_input)\n",
    "    print(f'Agent: {response}')\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "50fa7bb1-817c-4ac1-af39-adbcb14139e2",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "colab": {
   "provenance": []
  },
  "kernelspec": {
   "display_name": "llama_index",
   "language": "python",
   "name": "llama_index"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.10"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "0a8d7bc06ed646b78956101c5c62fb1f": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_112ef61e952444369d6c0dce1d1098a8",
      "max": 456318,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_afe741aff3f54ae6a89b5965888599f4",
      "value": 456318
     }
    },
    "0cccb700fc264051abc0b7458716054f": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "0cd2bf060b4c4daeaf9156705ae409ab": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_3c4ce2ec8ae54042864d1d0261355166",
       "IPY_MODEL_2e27352e29354001b53bc4d07bd4c1ed",
       "IPY_MODEL_709f853d0ae846e7945c74ff83cae52e"
      ],
      "layout": "IPY_MODEL_54a3bafa2af54475abe57e37e2399a45"
     }
    },
    "0dc1dea99b774b74a84c9c02b6335b94": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_3b4a5130401a44daa116828b9fa8d17b",
      "placeholder": "​",
      "style": "IPY_MODEL_21efd9c072db42bf89ad5dbd96b52a01",
      "value": "Downloading (…)lve/main/config.json: 100%"
     }
    },
    "10420e2dba3244f48c8fcd7d35904e41": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "112ef61e952444369d6c0dce1d1098a8": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "1a259e1a45bc4043b81243d033b79752": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_f0963a05a29d4e6f8a2ab48fc8a26a1d",
       "IPY_MODEL_0a8d7bc06ed646b78956101c5c62fb1f",
       "IPY_MODEL_ef339a504f984cc2ac07c8252aa2f6d5"
      ],
      "layout": "IPY_MODEL_3d3c2d54cdf44a06a99c35d0e1b33b0a"
     }
    },
    "21efd9c072db42bf89ad5dbd96b52a01": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "2d7895836c814084be531103d0218650": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "2e27352e29354001b53bc4d07bd4c1ed": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_792a299872704c10af8061175db96031",
      "max": 1355256,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_2d7895836c814084be531103d0218650",
      "value": 1355256
     }
    },
    "37cf19bcc68d41d7bc6b411cd273a88c": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_8e1f2102db184538a35ed9c8498d5bbc",
      "placeholder": "​",
      "style": "IPY_MODEL_0cccb700fc264051abc0b7458716054f",
      "value": " 1.04M/1.04M [00:00&lt;00:00, 3.35MB/s]"
     }
    },
    "387d0ca6bf2c4341804cfa43a71b6451": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "3b4a5130401a44daa116828b9fa8d17b": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "3c4ce2ec8ae54042864d1d0261355166": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_94343417f60a4f9d9a745dfa2c967893",
      "placeholder": "​",
      "style": "IPY_MODEL_f6331afe201d49319b76e528e01a9b4b",
      "value": "Downloading (…)/main/tokenizer.json: 100%"
     }
    },
    "3d3c2d54cdf44a06a99c35d0e1b33b0a": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "3e45628539864cd2b1297c2be1d35c98": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "4539f47e9e4c444e9f610dea60db5eb0": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "548c125bc716475ba6708fa80f5b1b61": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_387d0ca6bf2c4341804cfa43a71b6451",
      "max": 1042301,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_b1c406aebffa49f48c3457a9482a47a3",
      "value": 1042301
     }
    },
    "54a3bafa2af54475abe57e37e2399a45": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "5edb09d55e7b45c881bbf6a38de92f60": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_d75f60b7f0b94b3d88046ac990446ad4",
      "max": 665,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_609d29b907424f049de6ef0b86a6541d",
      "value": 665
     }
    },
    "609d29b907424f049de6ef0b86a6541d": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "6dc9a8ca9270413893e28e3a3807dd51": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "709f853d0ae846e7945c74ff83cae52e": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_10420e2dba3244f48c8fcd7d35904e41",
      "placeholder": "​",
      "style": "IPY_MODEL_d7b1b50d3f6843be90e00d3352139b2f",
      "value": " 1.36M/1.36M [00:00&lt;00:00, 3.65MB/s]"
     }
    },
    "755797e4682642399c367962ba737504": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_eb486eb0dc2f44eabcac46a18b711ff1",
      "placeholder": "​",
      "style": "IPY_MODEL_3e45628539864cd2b1297c2be1d35c98",
      "value": "Downloading (…)olve/main/vocab.json: 100%"
     }
    },
    "792a299872704c10af8061175db96031": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "7bd8740ee12a486fbb3d3ae0a2c493b8": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_6dc9a8ca9270413893e28e3a3807dd51",
      "placeholder": "​",
      "style": "IPY_MODEL_4539f47e9e4c444e9f610dea60db5eb0",
      "value": " 665/665 [00:00&lt;00:00, 18.8kB/s]"
     }
    },
    "7e96275c58434a04a49e56598b12656a": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "8e1f2102db184538a35ed9c8498d5bbc": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "94343417f60a4f9d9a745dfa2c967893": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "9bf6e3e259cd4bc0bd4c714c725d0782": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "a292f2af029c4340813e63370bf73f12": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_755797e4682642399c367962ba737504",
       "IPY_MODEL_548c125bc716475ba6708fa80f5b1b61",
       "IPY_MODEL_37cf19bcc68d41d7bc6b411cd273a88c"
      ],
      "layout": "IPY_MODEL_ebc4716ea8d849c58c43c26f5caf18fe"
     }
    },
    "a8bae11fb1aa40348e611a1592e0ff0a": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "afe741aff3f54ae6a89b5965888599f4": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "b1c406aebffa49f48c3457a9482a47a3": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "b2653a474569425ebb546f93241a465e": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "bbdfb7b736f546fea9f2a56a815a8e8f": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_0dc1dea99b774b74a84c9c02b6335b94",
       "IPY_MODEL_5edb09d55e7b45c881bbf6a38de92f60",
       "IPY_MODEL_7bd8740ee12a486fbb3d3ae0a2c493b8"
      ],
      "layout": "IPY_MODEL_fa9eff66d6084f0a970408b620afa686"
     }
    },
    "d75f60b7f0b94b3d88046ac990446ad4": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "d7b1b50d3f6843be90e00d3352139b2f": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "eb486eb0dc2f44eabcac46a18b711ff1": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "ebc4716ea8d849c58c43c26f5caf18fe": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "ef339a504f984cc2ac07c8252aa2f6d5": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_a8bae11fb1aa40348e611a1592e0ff0a",
      "placeholder": "​",
      "style": "IPY_MODEL_9bf6e3e259cd4bc0bd4c714c725d0782",
      "value": " 456k/456k [00:00&lt;00:00, 1.84MB/s]"
     }
    },
    "f0963a05a29d4e6f8a2ab48fc8a26a1d": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_7e96275c58434a04a49e56598b12656a",
      "placeholder": "​",
      "style": "IPY_MODEL_b2653a474569425ebb546f93241a465e",
      "value": "Downloading (…)olve/main/merges.txt: 100%"
     }
    },
    "f6331afe201d49319b76e528e01a9b4b": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "fa9eff66d6084f0a970408b620afa686": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    }
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
